package com.xjh.basestudy.designmode.behaviorMode.behaviorMode4_Strategy.example_computer;

/**
 * @Author XuJianHua
 * @Date 2022/10/4 16:18
 * @Description
 * 客户端首先实例化了计算机主机，接着分别插入键盘、鼠标及摄像头，并调用计算机的compute()方法。从第17行开始的输出结果显示，当客户端插入不同的USB设备时，计算机主机也会做出不同的行为响应。
 * 我们通过对计算机USB接口的标准化，使计算机系统拥有了无限扩展外设的能力，需要什么功能只需要购买相关的USB设备。
 * 可见在策略模式中，USB接口起到了至关重要的解耦作用。如果没有USB接口的存在，我们就不得不将外设直接“焊接”在主机上，致使设备与主机高度耦合，系统将彻底丧失对外设的替换与扩展能力。
 */
public class Client {

    public static void main(String[] args) {

        Computer com = new Computer();

        com.setUSB(new KeyBoard());//插入键盘
        com.compute();

        com.setUSB(new Mouse());//插入鼠标
        com.compute();

        com.setUSB(new Camera());//插入摄像头
        com.compute();

       /*输出
       键盘操作……
       鼠标操作……
       视频流数据……
       */
    }
}